Motf PosFFCompEnable
This enables or disables position feed-forward compensation during high-accuracy MOTF operation, e.g. during SyncMaster operation. MOTF tracking is done through observation of the motion of the moving element, e.g. a web or stage, using the position encoders as inputs. Because the galvo positions are altered in response to these measurements, there is always an inherent lag in the compensated position of the scan head galvos due to the tracking delay of the galvo servo controllers. This lag contributes to a positioning error of the focused beam on the work piece that is proportional to the speed of the work piece and the amount of the tracking delay of the galvo servos.
To compensate for this lag, position feed-forward adjustments are added to the galvo commands. These adjustments are calculated in real-time based on the measured work-piece speed and acceleration. The current speed and acceleration of the motion system is used to project where the work-piece will be in the near-term future, i.e. the tracking delay time of the galvo servos. For the short time frames of the tracking delay, the predicted position of the work-piece is easily calculated, and the projected position added to the galvo job commands.
The position feed-forward compensation takes advantage of the fact that the galvos are far faster with far greater acceleration than the work-piece transport mechanism and can be made to be in the proper position to minimize the positioning error. This compensation can be used in SyncMaster and normal MOTF operations.
Syntax
| PosFFCompEnable( int method) |
Parameters
| method | int |
Compensation method: 0 = None 1 = SW (Traditional mode marking only) 2 = HW (Default - ScanPack or Traditional mode marking) Both methods rely on an accurate setting of the X & Y galvo tracking delays in the ControlConfig file. This can be measured using SW tools provided by CT technical support. |
-- This sample shows SyncMaster operation
-- The script units are in mm
SetUnits(Units.Millimeters)
-- MOTF & Stage Initialization part
MOTF.Direction = Direction.DualAxisPlusDirection
MOTF.Mode = Encoder.ExternalDualAxis
-- OVerride the default setting of 2 for testing only
MOTF.PosFFCompEnable(1)
-- MOTF CalFactor is automatically calculated from data in the SyncMasterConfig file
MOTF.Initialize()
-- SyncMaster initialization
SyncMaster.Connect()
SyncMaster.Initialize()
-- Optional stage homing.
-- Argument "false" means home the stage if not already done
-- Argument "true" means always home the stage
Stage.Home(false)
-- Move the stage so that a defined workspace origin on the stage surface is underneath the scan-head origin
-- The actual stage location relative to the stage home position is defined in the SyncMasterConfig file on the SMC
Stage.MoveAbsolute(0,0)
-- Enable SyncMaster operation
SyncMaster.Enable()
-- Enable SMC tracking of the XY stage
MOTF.ResetTracking() -- zero out the counters
MOTF.StartTracking(Tracking.Continuously) -- begin continuous tracking
-- Start marking the job data described on the SMD canvas or SMAPI vector images
ScanAll()
-- When scanning is completed, disable the stage tracking and return the galvos to the scan-head origin
MOTF.StopTrackingAndJump(0,0,0,500)
-- Pause here and wait for all marking operations to finish
Laser.WaitForEnd()
-- Disable SyncMaster operation
SyncMaster.Disable()